import jieba                             # 分词
from matplotlib import pyplot      # 绘图，数据可视化（折线图等，直接生成图片，和echarts生成网页不同）
from wordcloud import WordCloud          # 词云
from PIL import Image                    # 图像处理（做图片虚化、验证码等）
import numpy                        # 矩阵运算
import sqlite3                           # 数据库

# 准备词云所需的词汇
conn =sqlite3.connect('dianying.db')
cur = conn.cursor()
sql ="select inq from dianying"
data = cur.execute(sql)
text =""
for item in data:
    text = text + item[0]
    # print(item[0])
# print(text)
cur.close()
conn.close()

# 分词
cut = jieba.cut(text)
string = ' '.join(cut)
print(len(string))  # 5323

# 绘图准备工作
img = Image.open(r'.\static\assets\img\tree.jpg')  # 打开遮罩图片：右键testCloud-open in explorer-进到tree，复制路径
img_array = numpy.array(img)  # 将图片转换为数组
wc = WordCloud(
    background_color='white',  # 输出图片的背景色
    mask=img_array,
    font_path="msyh.ttc"        # 字体：c盘-windows-Fonts-右键：属性（复制粘贴）
)
wc.generate_from_text(string)

# 开始绘图
fig = pyplot.figure(1)
pyplot.imshow(wc)
pyplot.axis('off')  # 不显示坐标轴
# pyplot.show()     # 显示生成的词云图片

# 输出词云图片到文件
pyplot.savefig(r'.\static\assets\img\word.jpg', dpi=500)  # 清晰度为500


























